【使用篇】读取文件-高阶版

参考:https://www.jianshu.com/p/a40df43c08f6

example

实质:tensorflow 的一种缓存存储方式,通过 key-value 对进行存储

类型:

  • key的数据类型为字符串
  • value的存储为列表格式,对应三种tensor类型:

    • VarLenFearure:value映射成sparseTensor,包含元素如下:

      • indices:包含元素位置
      • values:相应位置元素的取值
      • dense_shape:tensor的shape
      serialized = [ 
        features { 
          feature { key: "ft" value { float_list { value: [1.0, 2.0] } } } },
        features { 
          feature []}, 
        features { 
          feature { key: "ft" value { float_list { value: [3.0] } } }
      
    • FixedLenFeature:value映射成标准的矩阵

      注:要读取要求输入数据是等长的

    • SparseFeature:

  • value内元素的类型包含三种:

    • Bytes
    • Float
    • int64

    说明:

    1. 列表类型代表弹性存储,即元素可拓展
    2. 按行读取,元素的提取、存储方式都是按行进行,如矩阵存储按行数存储

协议:

  • value内元素数据类型的一致性
  • value可为空列表
  • value的长度可以不一样

解析

parse_example(serialized, features, name, example_name)

将example解析成字典格式的tensor

  • serilized:
  • features:
  • name:
  • example_name

说明:

  1. 在提取tfrecord数据时,需要设定读取数据的batch,分批次读取,在做解析时会按批次处理序列化的数据,即serilized
  2. features是解析出来的字典的数据格式,匹配到原始数据的key-value对应关系,每个value的数据格式即以上的三种tensor类型

results matching ""

    No results matching ""